﻿namespace Ah.Testudin.Engine.Actors
{
    public class ActorId
    {
        #region Private Member Variables

        private uint _identifier;

        #endregion

        #region Properties

        public uint Value
        {
            get
            {
                return _identifier;
            }
        }

        #endregion

        #region Constructors

        public ActorId(uint identifier)
        {
            _identifier = identifier;
        }

        #endregion

        #region Operators

        public static bool operator !=(ActorId a, ActorId b)
        {
            return !(a == b);
        }

        public static bool operator ==(ActorId a, ActorId b)
        {
            if (System.Object.ReferenceEquals(a, b))
            {
                return true;
            }

            if ((object)a == null || (object)b == null)
            {
                return false;
            }

            return a.Value == b.Value;
        }

        #endregion
    }
}
